------------------------------------------------------------------------------------------------------------------------------
--dream2
------------------------------------------------------------------------------------------------------------------------------
dream2start = gfxroom {
   enter        = chain_ {
                    mute_(0,0),
                    light_(false),
                    music_("flash")
                  }
  ,ontimer      = function(s)
                    if s._y == nil then
                      s._y = -900;
                    end
                    local gfx = s:loadgfx("planet");
                    sprite.copy(gfx, s.pic, 0, s._y);
                    if s._frames > 50 and s._y < 0 then
                      s._y = s._y + 1;
                    end
                    if s._frames == 51 then
                      play_music("droplet");
                    end
                  end
  ,stop         = 1000
  ,next         = walk_("dream2")
  ,dispose      = nil_("_y")
  ,rate         = 50
}

dream2 = scene {
   _wait        = 0
  ,_neardoor    = false
  ,_try         = false
  ,checkpoint   = true
  ,kind_        = "classroom"
  ,enter        = take_("dream2_tablet")
  ,obj          = {
                     "dream2_start"
                    ,"dream2_itself"
                    ,"dream2_start2"
                    ,"dream2_itself2"
                    ,"dream2_start3"
                    ,"dream2_desk"
                    ,"dream2_hall"
                    ,"dream2_hologram"
                    ,"dream2_door"
                    ,"dream2_floor"
                    ,"dream2_video"
                    ,"dream2_tabletmessages"
                    ,"dream2_coridor"
                    ,"cmn_pocket"
                    ,"cmn_ceil"
                    ,"victor"
                    ,"sokolovsky"
                  }
  ,Refresh      = redirect_("Exam", "dream2_hall")
  ,Stand        = redirect_("Exit")
  ,TurnAround   = choose_ {
                     ["default"] = [[Здесь так темно, что я даже не вижу, кто сидит позади меня.]]
                    ,["dream2._neardoor"] = 
                        [[Я оборачиваюсь. Соколовский всё также смотрит видеозапись с "Одиссея". Он наверняка не заметит, если
                          я тихо проскользну в дверь.]]
                  }
  ,ExamSelf     = [[Я в обычной своей одежде, ничего интересного.]]
  ,Wait         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("dream2._wait"),
                          music_("oasis",2),
                          [[-- Итак, -- говорит сиплым простуженным голосом Соколовский, продолжая расхаживать вокруг
                            сверкающей голограммы KZ-17, -- как вы все знаете, не существует единого мнения, как именно
                            был потерян контакт с девятой колонией, однако есть несколько реконструкций, и я буду
                            спрашивать абсолютно все. Наиболее признанной в научных кругах считается теория Браславского,
                            также известная как теория чёрной дыры, согласно которой...^
                            Соколовский останавливается прямо посреди своего голографического подиума. Кажется, он смотрит
                            как раз на тот ряд, в котором я сижу. Да уж, как говорится, нарочно не придумаешь. Сейчас точно
                            не стоит привлекать к себе внимание.]]
                        }
                    ,["dream2._wait==1"] =
                        chain_ {
                          inc_("dream2._wait"),
                          [[-- Колония была изолирована на протяжении ста двенадцати лет, -- продолжает Соколовский. На
                            несколько секунд он поворачивается к аудитории спиной, но потом вновь начинает расхаживать вокруг
                            голограммы. -- Что именно происходило в девятой системе всё это время, мы до сих пор не знаем.
                            Есть лишь предположения, теории и прочая, но они не являются предметами нашего изучения. Ровно
                            шестьдесят четыре года назад нам удалось открыть туннель в девятую систему, однако на наши запросы
                            по старым протоколам связи никто не отвечал и было решено послать экспедицию. Это был так называемый
                            первый контакт. У нас сохранилась пятиминутная запись, которая была сделана с корабля
                            "Одиссей-12", я вам покажу её чуть позже, а пока...^
                            Соколовский подходит к небольшому столику, почти незаметному в царящем вокруг полумраке, и делает
                            несколько глотков из стакана. Я вспоминаю, как некоторые студенты говорили, что у него в графине
                            на самом деле не вода, а разбавленная водка, и с трудом сдерживаю смех.^
                            -- Экспедиция, как вы все, надеюсь, знаете, погибла. Не выжил никто. Они были уничтожены военным
                            кораблём девятой колонии. Корабль при этом, как хорошо видно на той видеозаписи, уже тогда не
                            соответствовал по дизайну ни одному из кораблей соединённого флота. Данный инцидент стал началом
                            конфликта, который...^
                            Соколовский останавливается и вновь смотрит прямо на мой ряд.^
                            -- Ну, кто-нибудь помнит, как называют этот конфликт?]]
                        }
                    ,["dream2._wait==2"] =
                        chain_ {
                          inc_("dream2._wait"),
                          [[-- Итак, -- продолжает Соколовский, -- после нашего сокрушительного поражения девятые сами вышли
                            на связь со своим ультиматумом, который и послужил основой для заключённого впоследствии мирного
                            договора... Кстати, все пункты договора я буду вас спрашивать на экзамене. Дословно знать необязательно,
                            но общий смысл каждого из них вы знать обязаны... Согласно этому договору, как опять же вам должно
                            быть хорошо известно, девятая система была признана полностью автономным и независимым образованием.
                            Девятые также настаивали на том, чтобы вход в их территориальный космос был запрещён для всех судов
                            соединённого флота. Сейчас граница проходит за пределами девятой системы. Знаменитая станция "Рубикон"
                            выполняет роль нашего, так сказать, консульства -- территория станции считается нейтральной, и на ней
                            проходят, вернее, должны были проходить, все переговоры с девятыми. Однако после подписания мирного
                            договора никаких официальных контактов с девятыми более не было.^
                            -- Профессор! -- доносится голос из другого конца зала. -- А как же "Арес"? Ведь он вступал в контакт...^
                            -- Не перебивайте, пожалуйста! -- недовольно говорит Соколовский. -- Вопросы можно будет задать в конце
                            лекции. Об "Аресе" ходит множество легенд, но им нет абсолютно никаких документальных подтверждений. И
                            уж тем более нет оснований считать его контакты с девятыми официальными.^
                            Соколовский вновь подходит к столику в конце аудитории и склоняется над ним, то ли наливая в стакан
                            разбавленной водки, то ли сверяясь по поводу "Ареса" с электронным учебником.]]
                        }
                    ,["dream2._wait==3"] =
                        chain_ {
                          inc_("dream2._wait"),
                          [[-- Сейчас есть много исследовательских работ, посвящённых девятым, -- Соколовский отходит от столика и
                            встаёт рядом с голограммой планеты. По его лицу скользят яркие цветные тени. -- На этом курсе мы коснулись
                            лишь самых основных из них, включая и мою работу, "Парадокс технологий". В принципе исследования посвящены
                            в основном двум вопросам -- причины агрессии девятых и... -- Соколовский делает какой-то едва уловимый
                            жест рукой, -- тому, каким образом девятые смогли получить такое серьёзное технологическое преимущество над
                            нами, оказавшись в изоляции более, чем на сто лет. Ну и, разумеется, есть работы, посвящённые парадоксу
                            чёрной дыры, однако это я уже спрашивать, скорее всего, не буду, так как это мы с вами уже проходили на
                            прошлом курсе...^
                            Соколовский поворачивается к аудитории спиной, делает несколько шагов в темноту, к столику с графином,
                            но потом вновь возвращается к голограмме.^
                            -- Причины агрессии, -- продолжает он, -- вопрос достаточно интересный. Сами девятые не очень-то пускались
                            в объяснения. Единственные факты, которыми мы сейчас располагаем, это то, что девятые уверены, будто бы мы
                            намерено саботировали все пути сообщения с их колонией, что по их же собственным утверждениям якобы обрекало
                            их на гибель, хотя их система, как мы видим, прекрасно просуществовала и без нашей помощи.]]
                        }
                    ,["dream2._wait==4"] =
                        chain_ {
                          inc_("dream2._wait"),
                          [[-- Я думаю, -- говорит профессор, -- не имеет смысла объяснять, что у нас на самом деле до сих пор нет
                            технологий, с помощью которых мы могли бы помешать открытию туннелей, не говоря уже о том, что у нас совершенно
                            не было причин это делать. Девятые однако не идут на какие-либо переговоры, поэтому все исследования причин
                            агрессии представляют собой по сути обычные спекуляции -- интересные, захватывающие, но не слишком
                            полезные для науки. Некоторые из таких исследований всё-таки входят в нашу программу, и я буду,
                            повторюсь, их спрашивать, но, честно говоря, на мой взгляд, стоит всё же уделить больше внимания второму вопросу,
                            а именно тому скачку в технологиях, причем заметьте, военных технологиях, девятых, из-за которого они получили
                            просто колоссальное преимущество перед нами. Как раз этому и посвящена моя работа "Парадокс технологий", и всем,
                            кто бы хотел получить хорошую оценку, я бы рекомендовал очень подробно с ней ознакомиться.^
                            Соколовский останавливается и смотрит в потолок, точно пытаясь вспомнить, о чём собирался нам рассказать.^
                            -- Как вы знаете, -- говорит он, -- моя теория заключается в следующем... Начиная с момента потери контакта с 
                            девятыми, вся девятая колония находилась по сути в состоянии подготовки к военным действиям, поэтому и основной,
                            так сказать, фокус их развития был сделан именно на военных технологиях. У нас же по сути происходил обратный
                            процесс. На момент конфликта вся армия соединённого флота представляла собой флот из морально устаревших
                            кораблей с новичками-пилотами, которые никогда не участвовали в военных действиях. С тех пор, разумеется, многое
                            изменилось...]]
                        }
                    ,["dream2._wait==5"] =
                        chain_ {
                          inc_("dream2._wait"),
                          [[Профессор вновь застывает на несколько секунд, беспомощно уставившись в потолок. Да, с ним сегодня явно что-то не
                            то. Соколовский начинает яростно тереть руками лицо, а потом подходит к голограмме планеты -- так, что рукав его
                            пиджака проваливается в голубоватое атмосферное кольцо.^
                            Соколовский стоит с таким видом, словно рассматривает что-то на светящемся глобусе, а потом достает из кармана
                            небольшой пульт.^
                            -- Так, -- говорит он, -- я обещал вам показать запись, сделанную с "Одиссея". Первый контакт. Предлагаю не дожидаться
                            конца лекции... К тому же многие из вас могли вообще её не видеть, её нет в открытом доступе. Итак...^
                            Профессор нажимает кнопку на пульте, голограмма планеты исчезает, а вместо неё появляется огромное звёздное полотно
                            с астероидным поясом, который медленно утопает в чёрной пустоте космического пространства.^
                            Соколовский поворачивается к залу спиной.]]
                        }
                    ,["dream2._wait==6"] =
                        chain_ {
                          inc_("dream2._wait"),
                          music_("alpha",0),
                          [[Я уже видел эту запись раньше, она сделана наружными камерами "Одиссея", небольшого исследовательского корабля,
                            который тогда направили в девятую колонию через червоточину. Сигнал передавался на Землю -- ровно четыре минуты
                            и пятьдесят шесть секунд, -- после чего связь была утеряна, и корабль сочли погибшим.^
                            Первые две минуты в этой видеозаписи не происходит ровным счётом ничего интересного.^
                            "Одиссей" медленно проплывает мимо астероида. Солнце девятой системы на несколько секунд ослепляет объектив камеры,
                            и в голографическом экране над аудиторией повисает оглушительная белизна. С заметным запаздыванием срабатывают
                            фильтры, и мы снова видим чёрную пустоту вселенной. Солнце скрывается за астероидом, и последующие несколько секунд
                            камера снимает лишь бесформенную глухую темноту.]]
                        }
                    ,["dream2._wait==7"] =
                        chain_ {
                          inc_("dream2._wait"),
                          [[Я продолжаю смотреть видеозапись, хотя видел её уже неоднократно.^
                            В пустоте появляется планета -- это KZ-17. На записи она почему-то кажется чёрной, точно её сожгли до тла ядерными
                            ракетами. Камера "Одиссея" на несколько секунд фокусируется на планете, и над аудиторией повисает огромный
                            окружённый сияющим нимбом шар -- как чёрная дыра, над которой восходит ослепительное солнце.]]
                        }
                    ,["dream2._wait==8"] =
                        chain_ {
                          inc_("dream2._wait"),
                          [[Видеозапись приближается к кульминации.^
                            Камера "Одиссея" резко переводит свой взгляд с планеты на окружающий космос, но какое-то время мы видим лишь пустоту.
                            Затем вдалеке вспыхивает точка. Точка быстро увеличивается в размерах, наливаясь ярким дрожащим светом, и вскоре можно
                            уже различить очертания странного угловатого корабля. Кажется, корабль передаёт какие-то сигналы рассекающим
                            орбитальную темноту прожектором, но уже через мгновение сенсоры "Одиссея" улавливают, что радиационный фон вокруг корабля
                            девятых стремительно растёт, и поверх изображения, передаваемого с наружной камеры, выводятся панические красные
                            индикаторы.^
                            Всё это происходит в абсолютной тишине -- звуковой файл был повреждён, и переговоры пилотов "Одиссея" не сохранились.]]
                        }
                    ,["dream2._wait==9"] =
                        chain_ {
                          inc_("dream2._wait"),
                          mute_(4000),
                          [[В те времена ещё использовались старые нейроинтерфейсы, и пилотам кораблей приходилось тратить невыносимо долгие
                            миллисекунды на любые действия. Кажется, проходит вечность, прежде чем пляшущие красные индикаторы гаснут -- пилоты,
                            наконец, активируют щиты. Впрочем, мы-то знаем, что это им не поможет.^
                            Идут последние секунды записи.^
                            Корабль девятых останавливается, застывая над своей чёрной планетой. Через секунду его ослепительный прожектор
                            гаснет, и корабль погружается в темноту. Света теперь нет. "Одиссея" вновь окружает бесконечная темнота.]]
                        }
                    ,["dream2._wait==10"] =
                        chain_ {
                          light_(true),
                          unlock_("student"),
                          set_("dream2end._end1"),
                          walk_("dream2trans")
                        }
                  }
  ,Exit         = choose_ {
                     ["default"] = 
                        [[Нет, сейчас не самый удачный момент. Соколовский может заметить меня, несмотря на полумрак. Лучше подождать, когда он
                          отвернется.]]
                    ,["dream2._wait==3 and not dream2._try"] =
                        chain_ {
                          set_("dream2._try"),
                          [[Я осторожно поднимаюсь, выскальзываю из-за парты и, поймав удивлённый взгляд Виктора, начинаю подниматься
                            по лестнице к спасительной двери. Одна ступенька, две, три... Когда дверь находится в нескольких шагах
                            от меня, а я уже предвкушаю яркий солнечный свет, падающий через широкие окна, и приятную тишину, которая накрывает
                            весь институт во время занятий, за спиной моей раздаётся громкий рассерженный голос:^
                            -- Молодой человек! А вы куда, собственно, собрались?^
                            -- Извините, я... -- Я начинаю мямлить и взволнованно сглатываю слюну. -- Мне просто нужно... в уборную.^
                            -- На цыпочках по стеночке? -- ухмыляется Соколовский.^
                            -- Я просто не хотел вам мешать, -- пытаюсь оправдаться я.^
                            -- Ну что ж, идите, конечно, -- говорит Соколовский, -- но... -- Он делает выразительную паузу. -- Я очень
                            надеюсь на ваше скорейшее возвращение.^
                            -- Ладно, я... Наверное, я просто подожду конца лекции, -- говорю я.^
                            В зале раздаётся чей-то смешок.^
                            -- Что ж, смотрите, -- говорит профессор.^
                            Я возвращаюсь на своё место.]]
                        }
                    ,["dream2._wait>5 and not dream2._neardoor"] =
                        chain_ {
                          drop_("dream2_tablet"),
                          set_("dream2._neardoor"),
                          mute_(4000),
                          [[Сейчас самое время. До конца лекции остался ещё почти час, а у Соколовского, похоже, уже иссяк запас
                            красноречия, раз он решил показывать эту видеозапись, которую сам же демонстрировал нам ещё на
                            предыдущем курсе. У меня есть отличная возможность по-тихому выскользнуть отсюда, пусть даже он потом
                            и заметит моё отсутствие. Но я не выдержу ещё час в этом полумраке с мерцающими голограммами,
                            выслушивая то, что Соколовский уже рассказывал нам несколько раз.^
                            Я осторожно встаю. Виктор смотрит на меня и хмурится, но ничего не говорит. Сам он по-прежнему увлечён
                            фотографиями в своём планшете и почти не смотрит запись с "Одиссея-12", которую показывают через
                            голографический проектор.^
                            Я начинаю подниматься по лестнице, периодически оглядываясь. Соколовский по-прежнему стоит спиной и
                            смотрит видеозапись. Вот, наконец, я у двери. Осталось лишь открыть её, и я на свободе.]]
                        }
                    ,["dream2._wait>5 and dream2._neardoor"] = redirect_("Open", "dream2_door")
                  }
}

dream2_start = rooms.event
  [[Профессор Соколовский сегодня выглядит уставшим, как будто его мучит бессоница или мигрень, от которой не помогают
    никакие таблетки. Он расхаживает рядом с голографическими проекторами с таким видом, точно силится вспомнить о чём-то
    и не может -- и постоянно повторяет то, что рассказывал нам уже десятки раз.^]]

dream2_itself = rooms.dsc
  [[Я сижу рядом с Виктором, который притворяется, что конспектирует, а на самом деле рассматривает в
    планшете чьи-то мутные некачественные снимки.^
    Эта аудитория, сделанная в виде амфитеатра, одна из самых больших в институте.]]

dream2_start2 = rooms.event
  [[Здесь часто проходят разные торжественные собрания, лекции приглашённых звёзд и прочие яркие события,
    подсвеченные двадцатью голографическими проекторами. А ещё Соколовский читает здесь лекции -- видно, кто-то в директорате
    полагает, что он тоже звезда.^
    Я сижу в центре зала и временами поглядываю на дверь в коридор с тусклой, заманчиво поблёскивающей в полумраке
    зелёной табличкой -- единственный путь к спасению, такой далёкий и почти недостижимый.^]]

dream2_itself2 = rooms.dsc
  [[В зале темно, а голограмма KZ-17, единственной населённой планеты девятой системы, переливается неестественно-яркими монотонными
    цветами, точно неоновые рекламы в городском центре.]]

dream2_start3 = rooms.event
  [[Я даже не представляю, чем занять себя от скуки. Быть может, стоит попробовать незаметно выскользнуть из аудитории --
    здесь сумрачно, и Соколовский вполне может меня не заметить.^
    Я долго не могу решиться и от нечего делать перечитываю почтовые сообщения в своём планшете.]]

dream2_coridor = item {
   nam          = _"коридор"
  ,Exit         = redirect_("Exit", "dream2")
  ,articles     = {
                    ["Exit"] = "в"
                  }
}

dream2_tabletmessages = item {
   _msg         = 0
  ,nam          = name_ {
                     ["default"] = _"сообщение в планшете"
                    ,["Read"] = _"сообщения в планшета"
                    ,["Check"] = _"сообщения в планшета"
                  }
  ,Read         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._msg"),
                          [[Да, я начинаю превращаться в тех несчастных чудиков, которые от нечего делать постоянно проверяют
                            свою почту только, чтобы убедиться, что никто им не пишет.^
                            Что ж, пока ничего нет. Проверю ещё через пару минут.]]
                        }
                    ,["s._msg==1"] =
                        chain_ {
                          inc_("s._msg"),
                          [[На иконке почтового клиента появляется синяя циферка "1" -- кто-то всё-таки отправил мне сообщение прямо
                            посреди лекции. Я невольно кошусь на Виктора, потом открываю почту и тут же вижу набранный прописными
                            буквами заголовок:^
                            <i>ХОТИТЕ ПРЕУСПЕТЬ В БИЗНЕСЕ? ЗВОНИТЕ...</i>^
                            Спам. Я стираю сообщение.]]
                        }
                    ,["s._msg==2"] =
                        chain_ {
                          inc_("s._msg"),
                          [[Мне пришло ещё одно новое сообщение. Интересно...^
                            Я открываю почтовый клиент и читаю заголовок:^
                            <i>ФАКУЛЬТАТИВНАЯ ЛЕКЦИЯ ИЗВЕСТНОГО ПРОФЕССОРА...</i>^
                            Ну уж нет, сейчас я совершенно не настроен читать об ещё одной тоскливой лекции.]]
                        }
                    ,["s._msg==3"] =
                        chain_ {
                          inc_("s._msg"),
                          [[Нет, ничего. Ни новых писем, ни мгновенных сообщений.]]
                        }
                    ,["s._msg==4"] =
                        [[Мне кажется, если я буду каждую минуту проверять новые сообщения, постоянно убеждаясь в том, что ничего
                          интересного по-прежнему нет, то ждать конца лекции станет совершенно невыносимо.]]
                  }
  ,Write        = [[Даже не представляю, кому написать письмо или мгновенное сообщение.]]
  ,Check        = redirect_("Read")
}

dream2_tablet = item {
   _write       = 0
  ,nam          = _"планшет"
  ,Exam         = [[Стандартный планшетный компьютер, который выдают всем бесплатно -- табельное оружие студента, как пошутил
                    однажды Виктор. Экран у планшета складной, поэтому он отлично влезает в карман пиджака, а если разложить его
                    на столе, то удобно делать заметки или читать научные статьи с графиками. Правда, сейчас мне не хочется делать
                    ни того, ни другого. А большинство полезных приложений -- тех самых, что могут якобы отвлекать нас от учёбы --
                    в планшете заблокированы.]]
  ,Write        = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._write"),
                          [[Я начинаю делать вид, что конспектирую лекцию, но надолго меня не хватает. И всё-таки какими скучными могут
                            быть выступления Соколовского! Вот оно, подлинное мучение студентов нашего курса! Соколовский и его
                            невыносимая программа.]]
                        }
                    ,["s._write==1"] =
                        chain_ {
                          inc_("s._write"),
                          [[Я открываю в планшете текстовый редактор и делаю несколько записей:^
                            <i>KZ-17, Элерия</i>^
                            <i>Миссия "Одиссея-12"</i>^
                            Я останавливаюсь и смотрю на экран планшета. И для кого я всё это пишу? Хотя Соколовский и утверждает, что
                            на лекциях всегда рассказывает что-нибудь такое, о чём больше нигде нельзя прочитать, все его откровения
                            обычно без проблем отыскиваются в институтской библиотеке, в его же собственных статьях.^
                            Я закрываю редактор.]]
                        }
                    ,["s._write==2"] =
                        [[Нет, у меня больше нет сил даже чтобы притворяться. Всё равно я, скорее всего, смогу потом прочитать всё
                          это в его статьях и монографиях. Надо просто дождаться конца лекции. Или...]]
                  }
}:like(pTablet)

dream2_desk = item {
   nam          = _"стол"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Обычная парта -- такие стоят во всех аудиториях. Есть, конечно, отдельные образцы, украшенные неповторимой
                          студенческой живописью, но в такой темноте я всё равно ничего не могу разглядеть.]]
                    ,["dream2._neardoor"] = [[Сейчас не до этого.]]
                  }
  ,Wreck        = choose_ {
                     ["default"] = [[Да, это точно привлечёт внимание Соколовского.]]
                    ,["dream2._neardoor"] = [[Сейчас не до этого.]]
                  }
  ,Approach     = choose_ {
                     ["default"] = [[Вообще-то я уже сижу за столом.]]
                    ,["dream2._neardoor"] = [[Не вижу смысла возвращаться.]]
                  }
  ,Move         = redirect_("Wreck")
  ,Open         = choose_ {
                     ["default"] = [[В парте нет никаких ящиков и отделений.]]
                    ,["dream2._neardoor"] = [[Сейчас не до этого.]]
                  }
  ,Close        = [[Не представляю, как это можно сделать.]]
  ,Sit          = choose_ {
                     ["default"] = [[Я и так сижу за столом.]]
                    ,["dream2._neardoor"] = [[Какой смысл сейчас возвращаться?]]
                  }
  ,Stand        = choose_ {
                     ["default"] = redirect_("Exit", "dream2")
                    ,["dream2._neardoor"] = [[Я уже встал из-за стола.]]
                  }
  ,Lie          = choose_ {
                     ["default"] =
                        [[Нет, забираться на стол я не буду. Я пока что не готов устраивать увеселительные представления на лекциях.]]
                    ,["dream2._neardoor"] = [[Сейчас не до этого.]]
                  }
  ,Ascend       = redirect_("Lie")
}:like(pTable)

victor = item {
   _talk        = 0
  ,npc_         = "victor"
  ,nam          = _"Виктор"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Кажется, Виктор не пропустил ни одной лекции Соколовского, хотя обычно он играется со своим планшетом
                          вместо того, чтобы слушать профессора.]]
                    ,["dream2._neardoor"] = 
                        [[Виктор уже позабыл о фотографиях в своём планшете и с любопытством смотрит на меня. Интересно, чего я
                          жду? Соколовский может в любой момент обернуться.]]
                  }
  ,Talk         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Что за фотки? -- шёпотом спрашиваю я.^
                            Виктор смотрит на меня с таким видом, как будто забыл о том, что я сижу с ним рядом.^
                            -- Да так, ездил домой неделю назад, -- отвечает он, прикрывая планшет рукой.^
                            Я успеваю заметить тёмноволосую девушку в странном старомодном платье, которая стоит к камере
                            спиной и позывает куда-то пальцем -- то ли на нечёткие кроны деревьев, то ли на какое-то
                            невразумительное пятно в расфокусированном небе.]]
                        }
                    ,["not dream2._neardoor and s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- А что за девушка? -- спрашиваю я.^
                            -- Да так. Знакомая, -- нехотя отвечает Виктор.^
                            -- Любовь детства? -- улыбаюсь я. -- Ты об этом ничего не рассказывал.^
                            Лицо Виктора как-то неожиданно багровеет.^
                            -- Просто знакомая, -- сухо отвечает он. -- У тебя-то с чего такой интерес?^
                            Он делает вид, что внимательно следит за Соколовским, который всё так же расхаживает перед
                            голограммой планеты лунатичной нетвёрдой походкой.]]
                        }
                    ,["not dream2._neardoor and s._talk==2"] =
                        chain_ {
                          inc_("s._talk"),
                          [[Виктор всем своим видом показывает, что не хочет больше говорить о фотографиях в планшете, однако
                          меня распирает от любопытства.^
                            -- А почему снимки такие нечёткие? -- спрашиваю я. -- Чем снимали?^
                            -- Господа! -- Голос Соколовского такой громкий, что я даже вздрагиваю. -- Меня, честно
                            говоря, уже... утомило ваше перешёптывание. Вы можете продолжить свою беседу в коридоре, и тогда,
                            как говорится, до встречи на экзамене.^
                            -- Извините, -- отвечает ему Виктор.]]
                        }
                    ,["not dream2._neardoor and s._talk==3"] = 
                        [[Не думаю, что сейчас подходящее время для разговоров. Да и Виктор, кажется, слишком увлечён своими
                          фотографиями.]]
                    ,["dream2._neardoor"] =
                        [[Не лучший момент, чтобы поболтать с Виктором. Я не собираюсь возвращаться, Соколовский наверняка меня
                          заметит.]]
                  }
  ,Think        = [[Я познакомился с Виктором ещё на подготовительных курсах -- заблудился в поисках нужной аудитории и спросил
                    его, как пройти, но оказалось, что он и сам потерялся в лабиринтах института. В каком-то смысле удивительно,
                    что мы стали друзьями. Топографический кретинизм -- это, пожалуй, единственное, что есть у нас общего.^
                    Виктор часто помогает мне во время сессии (да и на экзаменах тоже), а вот я для него -- просто придурковатый
                    парень, с которым он как-то столкнулся в коридоре и который до сих пор постоянно таскается за ним.^
                    По правде сказать, я завидую Виктору. Он всегда умудряется получать высшие оценки, но при этом не скажешь,
                    что он всё свободное время проводит за штудированием учебников. Конечно, не исключено, что ему просто везёт
                    с экзаменационными вопросами, но поверить в такое регулярное и непреклонное везение довольно сложно.^
                    А вообще... Есть у нас на самом деле кое-что общее и помимо неспособности ориентироваться в пространстве.
                    Мы оба хотим стать пилотами. И у Виктора это наверняка получится.]]
  ,Listen       = [[Виктор молчит.]]
  ,Attack       = [[Вроде у нас нет причин драться.]]
  ,Kick         = use_ {
                     ["default"] = redirect_("Attack")
                    ,["dream2_tablet"] =
                        [[Ударить друга планшетом? Виктор, конечно, иногда меня порядочно достает, но всё же не до такой степени.
                          Да и планшет жалко.]]
                  }
  ,Approach     = choose_ {
                     ["default"] = [[Мы и так сидим рядом.]]
                    ,["dream2._neardoor"] = [[Какой смысл сейчас возвращаться?]]
                  }
}:like(pHuman)

sokolovsky = item {
   _ask         = false
  ,npc_         = "sokolovsky"
  ,nam          = _"Соколовский"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Кажется, ему и правда нездоровится сегодня. Обычно Соколовский ходит прямо, расправив с показной
                          гордостью плечи и чуть откинув назад голову с насквозь седыми редеющими волосами -- можно подумать, что он
                          не на лекции, а на церемонии награждения лучшего учителя года или что-то в этом роде. Однако
                          сегодня Соколовский выглядит осунувшимся и усталым. Кажется даже, что правая рука у него немного дрожит,
                          когда он помахивает ей перед собой, как бы помогая своему ослабшему голосу. А может, это просто возраст?
                          Сколько ему уже? Явно не меньше шестидесяти.^
                          Наверняка сегодня он не обратит внимания, если я просто встану и выйду из аудитории, но лучше
                          всё-таки дождаться, когда он отвернётся. Соколовский злопамятен, и отношения с ним лучше не портить.]]
                    ,["dream2._neardoor"] = [[Соколовский увлечён видеороликом и смотрит в зал. Сейчас самое время.]]
                  }
  ,Talk         = choose_ {
                     ["default"] = 
                        [[Честно говоря, я не из тех, кто донимает лектора вопросами, да и Соколовский не слишком любит,
                          когда его перебивают.]]
                    ,["dream2._wait==2 and not s._ask"] =
                        chain_ {
                          set_("s._ask"),
                          [[Сам не понимая, зачем, я поднимаю руку.^
                            -- Да, да! -- Соколовский указывает на меня пальцем. -- Вы! Слушаю.^
                            Я поднимаюсь с места и говорю:^
                            -- Двухчасовая война.^
                            -- Верно, -- кивает головой Соколовский. -- А почему?^
                            Вопрос кажется мне немного странным, как будто профессор пытается поймать меня на чём-то, но
                            я всё равно отвечаю:^
                            -- Потому что она длилась ровно два часа.^
                            -- Распространённое заблуждение, -- фыркает профессор. -- Два часа занимает только проверка
                            корабля перед прыжком. А само вооружённое столкновение длилось ровно сорок шесть секунд.^
                            Соколовский раздражённо махает в мою сторону рукой.^
                            -- Садитесь, -- говорит он мне и вновь начинает ходить вокруг голограммы. -- Двухчасовой война
                            называется так потому, что именно столько времени занимает переход от Земли до девятой колонии по
                            туннелю Квадровского. А война фактически длилась меньше минуты, да. И счёт был снова, как вы
                            знаете, не в нашу пользу.]]
                        }
                    ,["dream2._neardoor"] =
                        [[Да, отличная идея. Можно помахать руками и покричать -- вот, смотрите, я ухожу с лекции!]]
                  }
  ,Listen       = choose_ {
                     ["default"] = redirect_("Wait", "dream2")
                    ,["dream2._wait>5"] = [[Соколовский молчит и смотрит видеозапись.]]
                  }
  ,Attack       = [[Ну нет, я ещё не сошёл с ума.]]
  ,Approach     = [[Я бы, скорее, попробовал по-тихому смотаться из этой аудитории, вместо того, чтобы спускаться на
                    подиум к Соколовскому.]]
  ,Think        = [[О Солоколовском ходит слава самого беспощадного преподавателя во всём институте. Получить у него на экзамене
                    высший балл практически невозможно -- придётся настолько старательно вызубрить весь курс и многотомные монографии
                    самого профессора впридачу, что потом эти насильственно втиснутые в себя знания наверняка будут мучить кошмарами по
                    ночам. И при всём при этом предмет Соколовского у нас не основной -- говорят, раньше он даже был факультативным.
                    Иногда мне кажется, что я отдал бы всё, чтобы перенестись в те времена.]]
}:like(pHuman)

dream2_video = item {
   nam          = _"видеозапись"
  ,Exam         = redirect_("Wait", "dream2")
  ,Look         = redirect_("Exam")
  ,Approach     = redirect_("Approach", "sokolovsky")
  ,articles     = {
                    ["Look"] = ""
                  }
  ,cnd          = if_("dream2._wait>5")
}

dream2_hall = item {
   nam          = _"аудитория"
  ,Exam         = [[Здесь довольно темно, свет всегда приглушают, когда включаются голографические проекторы, хотя
                    пользы от этих висящих в воздухе призрачных изображений не так уж и много. Как, впрочем, и от
                    самой лекции. Все, кому было действительно интересно, уже давно прочитали о конфликте с девятыми,
                    остальные же будут как обычно зубрить перед самым экзаменом. Соколовский, конечно, якобы даёт
                    свою уникальную трактовку, которую нигде не прочитаешь, пока семестр не закончится, но сейчас,
                    похоже, он и сам никак не может вспомнить, о чём собирался нам рассказать и сбивчиво повторяет то,
                    что уже неоднократно вещал на предыдущих лекциях. И, судя по тому нетерпеливому шёпоту, который стоит в
                    аудитории, далеко не мне одному здесь скучно.]]
  ,Listen       = choose_ {
                     ["default"] = [[Мои соседи снизу о чём-то перешёптываются, хотя, честно говоря, мне не особенно интересно.]]
                    ,["dream2._neardoor"] = [[Все в зале притихли, как будто впервые смотрят хронику с "Одиссея".]]
                  }
  ,Walk         = [[Разгуливать по аудитории во время занятия -- не слишком удачная идея.]]
}:like(pRoom)

dream2_hologram = item {
   nam          = _"голограмма"
  ,Exam         = [[Говорят, KZ-17 похожа на Землю, однако по голограмме этого не скажешь. Планета в сияющей короне
                    атмосферного газа кажется насквозь синей, точно по всей её поверхности, от северного полюса до
                    южного, простирается огромный безбрежный океан.^
                    Непонятно, зачем нужна эта театральная голограмма. Сомневаюсь, что KZ-17 выглядит так в
                    действительности.]]
  ,TurnOn       = [[Даже при всём желании я не смогу ничего сделать с этими проекторами -- они управляются с пульта,
                    а пульт есть только у профессора.]]
  ,Activate     = redirect_("TurnOn")
  ,Open         = redirect_("TurnOn")
  ,TurnOff      = redirect_("TurnOn")
  ,Close        = redirect_("TurnOn")
  ,Approach     = redirect_("Approach", "sokolovsky")
  ,Descend      = redirect_("Approach", "sokolovsky")
  ,articles     = {
                     ["Walk"] = "к"
                    ,["Throw"] = "в"
                    ,["Descend"] = "к"
                  }
  ,withThrow    = true
  ,cnd          = if_("dream2._wait<=5")
}:like(pPhenom)

dream2_floor = item {
   nam          = _"пол"
  ,Exam         = [[Я посмотрел себе под ноги. Разглядеть здесь что-либо довольно сложно, да и что мне искать на полу?]]
  ,Lie          = [[С чего бы это я стал ложиться на пол?]]
  ,Sit          = choose_ {
                     ["default"] = 
                        [[Ну да, залезть под парту и усесться на пол -- это как раз то, что мне сейчас нужно сделать.]]
                    ,["dream2._neardoor"] = [[Сидеть на полу мне как-то не хочется.]]
                  }
}:like(pFloor)

dream2_door = item {
   nam          = _"дверь"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Наверное, с полсотни ступенек отделяют меня от двери -- сомневаюсь, что я смогу незаметно подняться
                          по лестнице и проскользнуть в коридор. Надо было садиться на последнем ряду.]]
                    ,["dream2._neardoor"] = [[Дверь передо мной. Осталось только её открыть.]]
                  }
  ,Approach     = redirect_("Exit", "dream2")
  ,Open         = choose_ {
                     ["default"] = [[Сначала нужно подойти к двери.]]
                    ,["dream2._neardoor"] =
                        chain_ {
                          set_("dream2end._end2"),
                          light_(true),
                          walk_("dream2trans")
                        }
                  }
  ,Close        = [[Дверь и так закрыта.]]
  ,Wreck        = [[Надеюсь, это не потребуется.]]
  ,Ascend       = [[Боюсь, что даже это не поможет мне скоротать лекцию.]]
}:like(pDoor)


------------------------------------------------------------------------------------------------------------------------------
--dream2end
------------------------------------------------------------------------------------------------------------------------------
dream2trans = pause {
   pic          = "white"
  ,enter        = music_("flash")
  ,time         = 3000
  ,next         = chain_ {
                    drop_("dream2_tablet"),
                    walk_("dream2end")
                  }
}

dream2end = scene {
   _end1        = false
  ,_end2        = false
  ,_wait        = 0
  ,enter        = chain_ {
                    music_("droplet2"),
                    timer_(1000),
                  }
  ,obj          = {
                     "dream2end_start1"
                    ,"dream2end_start2"
                    ,"dream2end_light"
                    ,"dream2end_eyes"
                    ,"dream2end_escape"
                  }
  ,Refresh      = [[Вокруг меня -- лишь безликая сверкающая пустота.]]
  ,Wait         = choose_ {
                     ["default"] =
                        chain_ {
                          inc_("s._wait"),
                          [[Кажется, свет с каждой секундой становится всё ярче.]]
                        }
                    ,["s._wait==1"] =
                        chain_ {
                          inc_("s._wait"),
                          [[Я больше не могу это выносить!]]
                        }
                    ,["s._wait==2"] = walkfast2_("cell4start")
                  }
  ,Exit         = [[Уйти куда? Отсюда нет выхода!]]
  ,ExamSelf     = redirect_("Refresh")
  ,timer        = chain_ {
                    timerstop,
                    mute_(5000,2000)
                  }
}

dream2end_start1 = rooms.event {
   dsc          = [[Затем -- вспышка. Такая яркая, что всю аудиторию заливает яркий радиационный свет. Я чувствую себя так, словно вот-вот
                    могу потерять сознание.^
                    Вокруг меня -- лишь безликая сверкающая пустота.^
                    Я встаю и прикрываюсь рукой от света, однако это не помогает.^
                    И тут я всё понимаю.^
                    Этот пронзительный невозможный свет, это чувство оглушающей пустоты, которая меня окружает... -- его ни с чем нельзя
                    перепутать. Я подключён к интерфейсу? Это ошибка нейролинка?^
                    Я напрягаюсь, пытаясь вспомнить команду экстренного выхода.]]
  ,cnd          = if_("dream2end._end1")
}

dream2end_start2= rooms.event {
   dsc          = [[Я открываю дверь, и в глаза мне бьёт неожиданно яркий обжигающий свет. Я прикрываюсь рукой, но это не спасает -- свет
                    повсюду, и даже дверь за моей спиной куда-то исчезла.^
                    И тут я всё понимаю.^
                    Этот пронзительный невозможный свет, это чувство оглушающей пустоты, которая меня окружает... -- его ни с чем нельзя
                    перепутать. Я подключён к интерфейсу? Это ошибка нейролинка?^
                    Я напрягаюсь, пытаясь вспомнить команду экстренного выхода.]]
  ,cnd          = if_("dream2end._end2")
}

dream2end_light = item {
   nam          = _"свет"
  ,Exam         = [[Нет, я не могу на него смотреть.]]
  ,Approach     = [[Свет и так повсюду.]]
  ,articles     = { 
                     ["Approach"] = "к" 
                    ,["Walk"] = "к"
                  }
}:like(pPhenom)

dream2end_eyes = item {
   nam          = _"глаза"
  ,Open         = [[Мои глаза открыты, и яркий свет их выжигает.]]
  ,Close        = [[Я зажмуриваюсь, но даже это не помогает -- меня по-прежнему окружает невозможный прожигающий насквозь свет.]]
}:like(pEyes)

dream2end_escape = item {
   nam          = _"команду выхода"
  ,Recall       = walkfast2_("cell4start")
  ,Think        = redirect_("Recall")
  ,Invent       = "Нет, нужно вспомнить."
}:like(pThink)
